package com.micro.ai.template.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.micro.ai.template.entity.AgentMetric;

import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;

/**
 * Agent指标Service
 *
 * @author micro-ai
 * @since 0.0.1
 */
public interface AgentMetricService extends IService<AgentMetric> {

    /**
     * 记录指标
     *
     * @param agentMetric 指标信息
     */
    void recordMetric(AgentMetric agentMetric);

    /**
     * 获取Agent的指标数据
     *
     * @param agentId Agent ID
     * @param startTime 开始时间
     * @param endTime 结束时间
     * @return 指标列表
     */
    List<AgentMetric> getMetrics(String agentId, LocalDateTime startTime, LocalDateTime endTime);

    /**
     * 获取聚合指标
     *
     * @param agentId Agent ID
     * @param metricType 指标类型
     * @param startTime 开始时间
     * @param endTime 结束时间
     * @return 聚合结果
     */
    Map<String, Object> getAggregatedMetrics(String agentId, String metricType, 
                                             LocalDateTime startTime, LocalDateTime endTime);
}

